home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
SLAX 6.0.8
/
slax-6.0.8.iso
/
boot
/
pxelinux.cfg
/
start
< prev
Wrap
Text File
|
2008-11-21
|
970b
|
29 lines
#!/bin/bash
# This script will start a DHCP server and TFTP server in order to provide
# fully functional environment for PXE booting.
#
cd $(dirname $(readlink -f $0))
# find out our own IP address. If more interfaces are available, use the first one
IP=$(ifconfig "$(ls -1 /sys/class/net | grep eth | head -n 1)" | grep "inet addr" | cut -d : -f 2 | cut -d " " -f 1)
# if no IP is assigned to this computer, setup private address randomly
if [ "$IP" = "" ]; then
killall dhcpcd 2>/dev/null
IP="10."$(($RANDOM/130+1))"."$(($RANDOM/130+1))".1"
ifconfig $(ls -1 /sys/class/net | head -n 1) $IP netmask 255.0.0.0
fi
# calculate C class range
RANGE=$(echo $IP | cut -d "." -f 1-3)
# make sure dnsmasq can be started
killall dnsmasq 2>/dev/null
mkdir -p /var/state/dnsmasq
# start the DHCP server and TFTP server
./dnsmasq --enable-tftp --tftp-root=/boot \
--dhcp-boot=/pxelinux.cfg/pxelinux.0,"$IP",$IP \
--dhcp-range=$RANGE.2,$RANGE.250,infinite --log-dhcp